MCP 문서 관리

메뉴

문서 정보

최종 수정일:
2025-05-13 10:35

Obsidian MCP 서버

Obsidian MCP 서버

Obsidian MCP 서버는 LLM(대규모 언어 모델)이 Obsidian 볼트와 직접 상호작용할 수 있도록 하는 Model Context Protocol(MCP) 서버입니다. 이 서버는 AI 어시스턴트가 사용자의 Obsidian 지식 베이스에 원활하게 액세스하고 관리할 수 있는 보안 도구를 제공합니다.

특징

  • 콘텐츠 접근: 볼트 내의 노트를 읽고 검색할 수 있습니다.
  • 콘텐츠 생성: 필요에 따라 새 노트와 디렉토리를 생성할 수 있습니다.
  • 콘텐츠 관리: 기존 노트 편집, 파일 이동, 콘텐츠 삭제 기능을 제공합니다.
  • 태그 관리: 볼트 전체에서 태그 추가, 제거 및 이름 변경이 가능합니다.
  • 검색 기능: 볼트 콘텐츠 전체에 대한 포괄적인 검색이 가능합니다.
  • 파일 작업: 원자적 파일/디렉토리 작업과 유효성 검사, 리소스 모니터링 및 오류 처리를 제공합니다.
  • 검색 시스템: 구성 가능한 컨텍스트, 고급 JsonLogic 쿼리, glob 패턴 및 frontmatter 필드 지원을 통한 전체 텍스트 검색을 지원합니다.
  • 속성 관리: YAML frontmatter 파싱, 지능형 병합, 자동 타임스탬프 및 사용자 정의 필드 지원을 제공합니다.

API

리소스

Obsidian MCP 서버는 다음과 같은 리소스를 제공합니다:

  • Notes: Obsidian 노트를 나타내는 리소스
  • Directories: Obsidian 볼트 내의 디렉토리 구조
  • Tags: 노트에 적용된 태그
  • Properties: 노트의 YAML frontmatter 속성

도구

파일 작업 도구

read-note

특정 Obsidian 노트의 내용을 읽습니다. - 입력: - vault: Obsidian 볼트의 이름 - filename: 노트 파일 이름 - folder: (선택 사항) 볼트 루트 기준 하위 폴더 경로

create-note

Obsidian 볼트에 새 노트를 생성합니다. - 입력: - vault: 볼트 이름 - filename: 노트 파일 이름 - content: 마크다운 형식의 노트 내용 - folder: (선택 사항) 하위 폴더 경로

edit-note

기존 Obsidian 노트를 편집합니다. - 입력: - vault: 볼트 이름 - filename: 노트 파일 이름 - operation: 수행할 작업 (예: "append", "prepend", "replace") - content: 새 콘텐츠 - folder: (선택 사항) 하위 폴더 경로

move-note

노트를 이동하거나 이름을 변경합니다. - 입력: - vault: 볼트 이름 - source: 소스 노트 경로 - destination: 대상 경로

delete-note

Obsidian 노트를 삭제합니다. - 입력: - vault: 볼트 이름 - path: 노트 경로 - permanent: 영구 삭제 여부 (기본값: false) - reason: 삭제 이유 (선택 사항)

검색 도구

search-vault

Obsidian 볼트 내에서 콘텐츠를 검색합니다. - 입력: - vault: 볼트 이름 - query: 검색 쿼리 - searchType: 검색 유형 (content, filename, both 중 하나) - path: (선택 사항) 검색 범위를 제한할 하위 폴더 경로 - caseSensitive: 대소문자 구분 여부 (기본값: false)

태그 도구

add-tags

노트에 태그를 추가합니다. - 입력: - vault: 볼트 이름 - files: 처리할 노트 파일 배열 - tags: 추가할 태그 배열 - location: 태그 추가 위치 (frontmatter, content, both 중 하나) - position: 인라인 태그 추가 위치 (start, end 중 하나) - normalize: 태그 형식 정규화 여부

remove-tags

노트에서 태그를 제거합니다. - 입력: - vault: 볼트 이름 - files: 처리할 노트 파일 배열 - tags: 제거할 태그 배열 - options: 추가 옵션 (위치, 패턴 등)

rename-tag

볼트 전체에서 태그 이름을 변경합니다. - 입력: - vault: 볼트 이름 - oldTag: 변경할 태그 이름 - newTag: 새 태그 이름 - normalize: 태그 이름 정규화 여부

속성 관리 도구

update-properties

Obsidian 노트의 YAML frontmatter 속성을 업데이트합니다. - 입력: - filepath: 노트 파일 경로 - properties: 업데이트할 속성 - replace: 배열 속성 교체 여부 (기본값: false)

사용 방법

Obsidian MCP 서버를 사용하려면 다음 단계를 따르세요:

  1. 필수 조건:
  2. Obsidian 설치 및 볼트 생성
  3. Obsidian Local REST API 커뮤니티 플러그인 설치 및 구성

  4. 설치:

    npx -y @smithery/cli install mcp-obsidian --client claude

또는 수동 설치:

# 저장소 클론
git clone https://github.com/cyanheads/obsidian-mcp-server
cd obsidian-mcp-server
# 의존성 설치
npm install
# 빌드
npm run build

  1. 구성: Claude Desktop 구성 파일을 엽니다:
  2. macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  3. Windows: %APPDATA%/Claude/claude_desktop_config.json

다음 구성을 추가합니다:

{
  "mcpServers": {
    "obsidian-mcp-server": {
      "command": "node",
      "args": ["/path/to/obsidian-mcp-server/dist/index.js"],
      "env": {
        "OBSIDIAN_API_KEY": "your_api_key_here",
        "VERIFY_SSL": "false",
        "OBSIDIAN_PROTOCOL": "https",
        "OBSIDIAN_HOST": "127.0.0.1",
        "OBSIDIAN_PORT": "27124",
        "REQUEST_TIMEOUT": "5000",
        "MAX_CONTENT_LENGTH": "52428800",
        "MAX_BODY_LENGTH": "52428800",
        "RATE_LIMIT_WINDOW_MS": "900000",
        "RATE_LIMIT_MAX_REQUESTS": "200",
        "TOOL_TIMEOUT_MS": "60000"
      }
    }
  }
}

  1. Claude Desktop를 다시 시작하여 설정을 적용합니다.

환경 변수

  • OBSIDIAN_API_KEY (필수): Obsidian의 Local REST API 플러그인 설정에서 API 키를 가져옵니다.
  • VERIFY_SSL (기본값: false): SSL 인증 활성화 여부입니다. 자체 서명된 인증서 또는 로컬 사용의 경우 false로 설정합니다.
  • OBSIDIAN_PROTOCOL (기본값: "https"): 프로토콜 (http 또는 https)입니다.
  • OBSIDIAN_HOST (기본값: "127.0.0.1"): 호스트 주소입니다.
  • OBSIDIAN_PORT (기본값: 27124): 포트 번호입니다.
  • REQUEST_TIMEOUT (기본값: 5000): 요청 시간 초과(ms)입니다.

보안 고려 사항

Obsidian MCP 서버는 볼트에 대한 읽기 및 쓰기 액세스 권한을 가지고 있습니다. 서버를 사용하기 전에 다음 사항을 고려하세요:

  1. 백업: 사용하기 전에 항상 Obsidian 볼트를 백업하세요. Git과 같은 버전 관리 시스템을 사용하는 것이 좋습니다.
  2. API 키 보호: Obsidian API 키를 안전하게 보관하고 공유하지 마세요.
  3. 로컬 사용: 서버는 로컬 머신에서만 실행하는 것이 안전합니다.

연결된 구성 요소

참고 자료